add_header_library(
  sqrt
  HDRS
    sqrt.h
    sqrt_80_bit_long_double.h
  DEPENDS
    libc.hdr.fenv_macros
    libc.src.__support.common
    libc.src.__support.CPP.bit
    libc.src.__support.CPP.type_traits
    libc.src.__support.FPUtil.cast
    libc.src.__support.FPUtil.dyadic_float
    libc.src.__support.FPUtil.fenv_impl
    libc.src.__support.FPUtil.fp_bits
    libc.src.__support.FPUtil.rounding_mode
    libc.src.__support.uint128
)

add_header_library(
  fma
  HDRS
    FMA.h
  DEPENDS
    libc.hdr.fenv_macros
    libc.src.__support.big_int
    libc.src.__support.common
    libc.src.__support.CPP.bit
    libc.src.__support.CPP.limits
    libc.src.__support.CPP.type_traits
    libc.src.__support.FPUtil.basic_operations
    libc.src.__support.FPUtil.cast
    libc.src.__support.FPUtil.dyadic_float
    libc.src.__support.FPUtil.fenv_impl
    libc.src.__support.FPUtil.fp_bits
    libc.src.__support.FPUtil.rounding_mode
    libc.src.__support.macros.optimization
    libc.src.__support.uint128
)

add_header_library(
  fmod
  HDRS
    FMod.h
  DEPENDS
    libc.src.__support.common
    libc.src.__support.CPP.bit
    libc.src.__support.CPP.type_traits
    libc.src.__support.FPUtil.fenv_impl
    libc.src.__support.FPUtil.fp_bits
    libc.src.__support.FPUtil.rounding_mode
    libc.src.__support.macros.optimization
)

add_header_library(
  add_sub
  HDRS
    add_sub.h
  DEPENDS
    libc.hdr.errno_macros
    libc.hdr.fenv_macros
    libc.src.__support.CPP.algorithm
    libc.src.__support.CPP.bit
    libc.src.__support.CPP.type_traits
    libc.src.__support.FPUtil.basic_operations
    libc.src.__support.FPUtil.cast
    libc.src.__support.FPUtil.dyadic_float
    libc.src.__support.FPUtil.fenv_impl
    libc.src.__support.FPUtil.fp_bits
    libc.src.__support.FPUtil.rounding_mode
    libc.src.__support.macros.attributes
    libc.src.__support.macros.optimization
)

add_header_library(
  div
  HDRS
    div.h
  DEPENDS
    libc.hdr.errno_macros
    libc.hdr.fenv_macros
    libc.src.__support.CPP.bit
    libc.src.__support.CPP.type_traits
    libc.src.__support.FPUtil.basic_operations
    libc.src.__support.FPUtil.fenv_impl
    libc.src.__support.FPUtil.fp_bits
    libc.src.__support.FPUtil.dyadic_float
    libc.src.__support.macros.attributes
    libc.src.__support.macros.optimization
)

add_header_library(
  mul
  HDRS
    mul.h
  DEPENDS
    libc.hdr.errno_macros
    libc.hdr.fenv_macros
    libc.src.__support.CPP.bit
    libc.src.__support.CPP.type_traits
    libc.src.__support.FPUtil.basic_operations
    libc.src.__support.FPUtil.fenv_impl
    libc.src.__support.FPUtil.fp_bits
    libc.src.__support.FPUtil.dyadic_float
    libc.src.__support.macros.attributes
    libc.src.__support.macros.optimization
)
